home *** CD-ROM | disk | FTP | other *** search
/ FM Towns: Free Software Collection 6 / FM Towns Free Software Collection 6.iso / t_os / book / src / history.doc < prev    next >
Text File  |  1993-07-08  |  31KB  |  588 lines

  1.  
  2.     テキスト表示ツール  <BOOK.EXP>      改版履歴
  3.  
  4. v0.00   90/**/** **:**
  5.   ・MIYAZAKI師匠がWHISPERの開発中に習作として作った高速テキストビュアー
  6.     “BOOK”のソースとオブジェクトをもらう
  7.  
  8. v0.01   91/2/11 2:00
  9.   ・SDボタンを廃止して、直接終了ボタンEXに置き換えた
  10.   ・ファイル名の8文字目が欠けるバグをとった
  11.   ・デフォルト・ワイルドカード・パターンを追加
  12.   ・ファイル・セレクタで一度に表示するファイル数を増やした
  13.  
  14. v0.02   91/2/12 3:41
  15.   ・SDボタンを復活させた
  16.   ・ファイル・セレクタであちこち移動しても、終了時には元のディレクトリに復帰
  17.     するようにした
  18.   ・スクロールバーを大型化した
  19.   ・テキスト表示画面の各ボタンを倍の大きさにしてみた
  20.   ・ファイル・セレクタで現在のディレクトリ位置を表示する
  21.   ・ONSEI.DIC はカレントからではなくモジュールの存在ディレクトリから読む
  22.     (あるいは、パラメータでの指定位置)
  23.   ・ONSEI.DIC がみつからない場合は、SDボタンは使用不可なので表示もしない
  24.  
  25. v0.03   91/2/13 7:10
  26.   ・右クリックによるメニュー消失を正常に動作するようにした
  27.     (右ボタンを離すと動作。左とは完全に独立して動作)
  28.   ・SDボタンでPCM発声中に、マウスクリックで中断できるようにした
  29.  
  30. v0.04   91/2/14 3:46
  31.   ・画面を拡幅して、スクロールバーを画面の外に追い出した
  32.  
  33. v0.05   91/2/15 1:07
  34.   ・画面の一番上の行をシステム行として、ファイル名と行数表示をつけた
  35.   ・猫の手スクロールに対応。手動スクロールは問題ないが、自動スクロールがぎご
  36.     ちない
  37.   ・起動時のディレクトリへ戻れないことがあるのを修正
  38.  
  39. v0.06   91/3/4 16:00
  40.   ・終、FS、音のボタンをシステム行に移動
  41.   ・基本テキスト表示画面では、スクロールバーを表示しない
  42.  
  43. v0.07   91-03-08 5:30
  44.   ・SND発声ルーチンをちょっと変更。いきなりファイル全部を読み込む。
  45.   ・猫の手で微妙に行の表示位置がズレていると、発声時のアンダーライン表示がず
  46.     れるのを修正
  47.  
  48. v1.00 91-04-16 22:08
  49.   ・スクロールがぎこちない原因がついに判明! スクロール・バーを常に書き換え
  50.     ていたのが原因でした。とりあえず、表示してるときだけ書き換えることにして
  51.     対応
  52.   ・ボタンの大きさと配置を再度アレンジ。終了ボタンはアイコン表示にした
  53.  
  54. === version 1.01 ===    91/4/18 23:20
  55.   ・はじめてバージョンナンバーを付与。システム行に表示する
  56.   ・自動スクロール中の行番号表示は10行ごとに更新
  57.   ・ファイルセレクタで現在より上のディレクトリへの移動が自由にできるようになっ
  58.     た(従来はひとつ上とルートのみ)
  59.   ・ストリームI/Oを使って1バイトずつ読んでいたファイル読み込みを、バッファ
  60.     を中継して転送するようにした。かなり速度は向上したがメモリの使用量が倍増
  61.     した
  62.  
  63. === version 1.02 ===    91/6/13 16:43
  64.   ・猫の手スクロールの自動移動量の決定が、より自然なオペレーションになるよう
  65.     にした
  66.   ・ファイルセレクタからキャンセルでテキスト表示に戻れるようにした
  67.   ・ファイル読み込み中、そのファイル名も表示する
  68.  
  69. === version 1.03 ===    91/6/25 1:03
  70.   ・EGB_putBlockを malor氏作の move.asmに変更したけど、さして変わらんかった
  71.  
  72. === version 1.04 ===    91/7/4 4:21
  73.   ・終了時には、確認するようにした
  74.   ・ファイルを読み直さなくても、タブサイズが変更できる。そのかわり、起動時メ
  75.     モリの半分以下の大きさのファイルしか読めなくなった。
  76.  
  77. === version 1.05 ===    91/7/5 3:10
  78.   ・スクロール・バーは差分だけを描き直すようにし、高速化した
  79.   ・スクロール・ボタンのリピート動作によるスクロール中は、行番号表示の更新は
  80.     10行ごと
  81.  
  82. === version 1.06 ===    91/8/17 7:58
  83.   ・常にフルパス表示するのをやめ、通常はファイル名のみでボタンをクリックした
  84.     時だけ表示するようにした
  85.   ・画面上部のデザインを少しいじった
  86.  
  87. === version 1.07 ===    91/8/29 13:30
  88.   ・ファイルセレクタのドライブ選択パネルをアイコン表示にした
  89.   ・読み込んだテキストの成形処理の日本語処理に一部問題があり、たまに漢字を2
  90.     バイトのグラフィック文字で表示することがあったので修正
  91.   ・致命的エラー割り込みとCtrl-C割り込みを再設定して無視するようにした
  92.   ・ファイルの読み込みに失敗したら、その旨表示してから中断するようにした
  93.  
  94. === version 1.08 ===    91/9/3 12:48
  95.   ・CD-ROMドライブにchdrvしたら、CD停止時間を0(無限大)に設定してしまう
  96.   ・getdir()に失敗した場合、エラーチェックをしていなかったため変なディレクト
  97.     リ名をもらうことがあったのを修正
  98.   ・READYになってないドライブ内で移動しようとした時、時計カーソルに変わるま
  99.     でにえらく時間がかかっていたのを修正
  100.  
  101. === version 1.09 ===    91/9/6 12:06
  102.   ・改行文字の表示色をシアンにした
  103.   ・表示書式設定サブメニューをつけて、その下にタブサイズ変更と改行表示の切り
  104.     換えを移動
  105.   ・タブサイズは従来の 0,4,8 に 1 も追加。0のときは^Iを、1のときは1文字のス
  106.     ペースを表示する
  107.   ・致命的なエラーの発生による処理の中止の場合は、その理由も表示してから終了
  108.     する
  109.  
  110. === version 1.10 ===    91/12/23 20:42
  111.   ・CDの停止時間設定時に「メディア交換エラー」が発生したら、成功するまでリ
  112.     トライするようにした
  113.   ・ソート条件を「名前優先」「拡張子優先」「なし」から選べるようにした
  114.   ・ファイル数が多い場合、ファイルセレクタ画面は前回選択したファイルが先頭に
  115.     表示されるようにした
  116.   ・上方のディレクトリへ移動した場合、いままでいたディレクトリが先頭に表示さ
  117.     れるようにした
  118.  
  119. === version 1.11 ===    92/1/9 9:27
  120.   ・従来は加速度つきボタンしかなかったスクロールボタンに、一定速度ボタンを追
  121.     加した。またこの際、スクロールボタンではスムーズスクロールしていなかった
  122.     点を改善し、スクロールはすべてスムーズスクロールに改めた
  123.   ・スクロールできない程度の小さいファイルを表示している時に、スクロールバー
  124.     を触ると飛ぶというバグを対策
  125.   ・ファイルセレクタ画面に直接終了ボタンを追加
  126.   ・マウスカーソルをカラーにしたので、2画面重ね合わせのときにマウスカーソル
  127.     の縁から下の画面が見えることがなくなった
  128.   ・ボタンの上にいる時と、ボタン以外の場所にいるときでは自動スクロールの速度
  129.     が激しく変化するので、少々調整
  130.  
  131. === version 1.12 ===    92/1/11 9:48
  132.   ・スクロールボタンは、離しても自動スクロールを続けるようにした
  133.   ・ボタン上にいる時といない時の速度差を調整するのをやめた
  134.  
  135. === version 1.13 ===    92/1/19 7:20
  136.   ・自動スクロール中に加速度つきスクロールボタンを押した時の動作を変更し、そ
  137.     のときの速度から加速されるようにした。また、押し続けた時だけでなく、一度
  138.     押して離すと1ずつ加速されるようにした。
  139.  
  140. === version 1.14 ===    92/1/21 23:15
  141.   ・致命的エラー割り込みおよび、CTRL-C割り込みのトラップをHigh-Cのinterrupt.cf
  142.     の記述にそっておこなうルーチンに置き換え(実質的な差はない)
  143.   ・ファイル読み込み時に致命的エラーが発生した場合は、ファイルセレクタに
  144.     戻って選択をやり直すようにした
  145.  
  146. === version 1.15 ===    92/1/26 4:03
  147.   ・ICメモリカードドライブをサポートした。ただし、ほんとうに正常に動くかどう
  148.     かはまだ未確認
  149.   ・ファイルセレクタで NotReady のドライブに対する操作をおこなった時に、なる
  150.     べく早く戻ってくるようにした
  151.  
  152. === version 1.16 ===    92/1/30 21:09
  153.   ・自動スクロール時、スクロール量は常に1ドットに固定し、速度はスクロールの
  154.     頻度で調整するようにしたところ、見違えるようにキレイにスクロールするよう
  155.     になった
  156.   ・さらにソースファイルを分割しました
  157.  
  158. === version 1.17 ===    92/2/2 22:54
  159.   ・ICカードドライブ対応を確認
  160.   ・ICカードに限らず、デバイスドライバ型の追加デバイスにも対応
  161.     BIOSで機器情報の取得をしただけだと、デバドラ型のデバイスは教えてくれない
  162.     ので、DOS の「デバイスの交換可能性」を調べることで、登録はされていないが
  163.     接続されているデバイスの検出ができるようにした。
  164.  
  165. === version 1.18 ===    92/6/4 4:54
  166.   ・定義ファイルをサポート。現在、サポートしているのは以下のもの。
  167.     タブサイズ(0,1,4,8)、改行記号の表示(on/off)、ファイルセレクタのソートモー
  168.     ド(なし、ファイル名優先、拡張子優先)、ファイルセレクタの追加ワイルドカー
  169.     ド、テキスト画面の文字・背景・改行色、行間隔
  170.   ・オプションを追加
  171.     -c{pathlist} の形式で、コンフィグファイルのフルパス指定
  172.   ・使用色を整理し、2つの画面ともに共通にした
  173.   ・行間隔を 20,18,16 の3つから選べるようにした。つまり、行間の空いた表示が
  174.     できるようになった。
  175.  
  176. === version 1.19 ===    92/6/4 14:44
  177.   ・20,18 ドットのとき、間隔部分がページ境界をまたいでいるとゴミが残る問題が
  178.     あったので修正
  179.   ・同じく、20,18ドットのとき、読み上げ時のアンダーラインのズレを修正
  180.     また、読み上げ下位ルーチンを多少手直し
  181.   ・定義ファイルに定速ボタンの速度指定を追加
  182.  
  183. === version 1.20 ===    92/6/9 4:02
  184.   ・画面上部のバージョン表示部分をちょっと手直し
  185.   ・メニュー選択ウィンドゥのフチが画面の周囲で残ることがあったので修正
  186.   ・ファイルセレクタで右ボタンによるキャンセルが効かなくなることがあったので
  187.     修正
  188.   ・コマンドラインパラメータの処理が気に入らなかったので、手直し
  189.     "-c{path}" と "-c {path}" の両方が使えたが、前者のみに統一
  190.   ・テキスト画面のボタンサイズと配置を少々手直し
  191.     また、[FS][音]ボタンをアイコン化した
  192.   ・テキスト成形ルーチンをいくらか高速化(10%程度)
  193.   ・簡易文字列検索機能を追加
  194.     「簡易」である理由は、一般文字しか検索できない、制御文字を変換した"^"と
  195.     もともとの"^"の区別がない、という制限があるため。
  196.   ・ファイルセレクタ画面のレイアウト直しと、スクロールバーを追加
  197.     ロールアップ/ダウンボタンをファイル表示パネルの右側に移動、キャンセルボ
  198.     タンの廃止、ディレクトリ名表示領域の拡大、などをおこなった。また、高速で
  199.     上下にスクロールできるようあちこちに手を入れた
  200.   ・キーボード操作に対応
  201.     文字列検索はもちろん、ファンクションキーにより、終了・ファイルセレクタへ
  202.     の移動、フルパス名の表示などの操作ができる
  203.   ・ボタンが押された時の処理を変更し、枠の色を書き換えるだけにした
  204.   ・スムーススクロール単位は従来1ドットに固定されていたが、高速スクロール時
  205.     には段階的に増やすことでより高速化
  206.   ・定義ファイルに、文字列検索時の英大小文字区別の切り換えを追加
  207.  
  208. === version 1.21 ===    92/6/11 3:13
  209.   ・一定間隔のイベントを発生させるため、FM音源割り込みAを使用することにし
  210.     た。低速側でのオートスクロールがいくらか平滑になった程度だが、ボタンの上
  211.     にいる時といない時で速度が変化しなくなったのは良好
  212.   ・イベントルーチンを書き換え、従来は配列で管理していたイベントデータをリス
  213.     ト構造に改めた(サイズ微減)
  214.   ・パレット設定を1色ずつやるのをやめ、構造体で一気に設定するようにした
  215.   ・サブメニュー表示中にもインターバル・イベントは発生し続けるようにした
  216.   ・サブメニュー表示中のマウス移動範囲規制をやめた
  217.   ・矢印カーソルを使うのをやめ、人指し指カーソルにした
  218.   ・オートスクロール中の行番号表示は、従来は一の位が0の時に表示していたが、
  219.     数値に関係なく10行増減するごとに表示するように変更
  220.   ・SND.H の 割り込みルーチン登録関数の定義がおかしいので、勝手に書き直した
  221.     ものと差し替え
  222.   ・従来、ファイルがたくさんあるディレクトリでスクロールしてからファイルを選
  223.     択して表示し、その後ファイルセレクタに戻ると、今見ているファイルが先頭に
  224.     表示されていたが、前回のスクロール位置に戻るようにした
  225.  
  226. === version 1.22 ===    92/6/12 5:18
  227.   ・オプションを整理し、-c{book.cfg のパス} だけに絞った
  228.     ONSEI.DICのパスおよび追加ワイルドカードはBOOK.CFGだけで指定できる
  229.   ・定義ファイルの読み込み処理を多少シェイプアップ。また、定義ファイルでのパ
  230.     レット設定の定義方法を変更(init.c として分割・独立)
  231.   ・漢字を含むパスリストの処理が正しくできるよう、全角文字を考慮した文字列処
  232.     理関数を作成
  233.   ・キーボードの初期化をする前に、キーボードアサインデータを保存し、終了時に
  234.     戻すことで、コンソールから起動された場合の終了後も起動前と変わりなくコン
  235.     ソールが使用できる(従来は、特殊キーの動作が一部おかしくなっていた)
  236.   ・sscnaf()/sprintf() の機能をほとんど使ってないので、簡易代替ルーチンに置
  237.     き換えて、10KB 程度実行モジュールのサイズを減らした
  238.   ・文字列検索で、みつかった文字列と検索ウィンドゥが重なっていた場合はウィン
  239.     ドゥを勝手に移動するようにした
  240.   ・英大小文字同一視で検索するとき、全角文字の後半バイトの英数文字を同一視し
  241.     てしまい、違う文字と合致してしまうバグを修正
  242.  
  243. === version 1.23 ===    92/6/15 0:43
  244.   ・イベントルーチンに手を入れ、同じ領域を重複してイベント登録した場合、イベ
  245.     ントレベルがより高いほうのイベントを発生するようにした。これで、メニュー
  246.     ウィンドゥの余白をクリップするとウィンドゥ移動する、などといったことがで
  247.     きる
  248.   ・さらに、イベントにロックフラグを追加した。ロックフラグのセットされている
  249.     イベントが発生すると、そのイベントが EVT_NONになるまでは他のイベントは一
  250.     切発生しなくなる
  251.   ・イベントの追加機能を使用して、メニューウィンドゥの表示中に下に見えている
  252.     画面をつかんでスクロールする機能をサポートした。特に文字列検索機能では、
  253.     検索して発見した付近をウィンドゥを閉じずに見ることができるので、ちょっと
  254.     便利かな?
  255.   ・検索した文字列を発見したあとで、検索ウィンドゥを閉じずに画面を移動してか
  256.     ら再検索したら、移動先の画面から検索を再開する(前回発見した位置のことは
  257.     忘れる)
  258.   ・ウィンドゥの周囲に描いていた縁取りの色を不透過黒からテキスト画面の背景色
  259.     に変更した。これにより、背景色の設定が白系統でも黒いフチが見えてしまうこ
  260.     とがなくなった
  261.  
  262. === version 1.24 ===    92/6/17 1:18
  263.   ・menu.cのウィンドゥ描画ルーチンのうち重複部分を統合し、いくらかサイズを縮小
  264.   ・cons.cの無駄なグローバル変数と、その処理を削除
  265.   ・cons.cのバグ(まったく同じことをやっているtie のcons.cでは正常に動いてい
  266.     るんだけど・・・??)で漢字変換して確定すると飛ぶのを修正。また、行入力
  267.     が閉じていても入力モード表示や入力文字のエコーバックが出てしまうというバ
  268.     グも対策
  269.   ・読み上げアイコンのデザインを再度変更(今度は音譜型)
  270.  
  271. === version 1.25 ===    92/6/23 23:50
  272.   ・メモリ管理方式を変更し、読み込んだテキストは表示するときに展開することに
  273.     した。この方法の場合、表示する時に行バッファに展開しながらなので遅くなる
  274.     かと思っていたが、別段そんなことはないのであった・・・
  275.     これにより従来よりはメモリの使用効率が倍くらい良くなるのは確実
  276.   ・さらに、行の管理方式も変更した。1000行を1ブロックとして配列に記憶し、こ
  277.     れを最大1000ブロックまで管理できるようにしたので、最大 1,000,000行までし
  278.     か表示できなくなった。しかし、行数が増えても管理メモリの無駄が増加しなく
  279.     なって、メモリの使用効率はさらに向上した。この効果は、行内の文字数が少な
  280.     く、行数が多いファイルの場合に特に大きい(少なくとも、こうゆうファイルで
  281.     は jtypeで表示できないファイルでも可能だった)
  282.   ・文字列検索の新バッファ管理対応は今のところ一般文字の検索が可能になった段
  283.     階。現状では制御コードの検索はまったくできない
  284.   ・メニューウィンドゥ表示中、テキスト画面の猫の手スクロールでウィンドゥの上
  285.     までカーソルが移動してしまっても無視することができるよう、イベントロック
  286.     を使用することにした
  287.  
  288. === Version 1.26 ===    92/6/25 7:13
  289.   ・画面を掴んでスクロールする時、一度にたくさん移動すると、行番号が0を下ま
  290.     わったり最大数を上回ったりするバグを修正
  291.   ・最近のバージョンでメニュー移動をすると、時々いきなり飛ぶことがあったのは、
  292.     メニュー移動時にEGB_getBlock/putBlock に渡すバッファの大きさの計算で、領
  293.     域の大きさを間違っていたためであったことが判明
  294.   ・マウスカーソル切り換え関数の手直しと、book.hからmouse.hを独立
  295.   ・EGB_put/getBlockを直接使っていたところをDSP_get/putBlockに置き換えて少々
  296.     贅肉を削ぎ落とした
  297.   ・オブジェクトサイズ切り詰め策のひとつとして、atexit()を使わない時に切り離
  298.     せる _mwcall_onexit_fcns() を切り離して数百バイト減量
  299.   ・制御文字の整形表示あり/なし切り換え機能を追加。これに伴い、putstr()は \0
  300.     終端ではなく、指定された文字列長を表示するように変更。また、定義ファイル
  301.     にFORM_CTRLスイッチを追加
  302.   ・イベントの重複登録をするバグがあったので修正。これは、タブサイズや制御文
  303.     字整形を切り換えることにより全画面の書き換えが起こった時に、
  304.     EVT_level_free() が不足していたためで、EVT_reset() に置き換えることで対処。
  305.     実害として、リフォームをおこなうと右クリックの処理がどんどん重複登録され
  306.     ていき、偶数回登録されているときは動作しなかったように見えてしまう
  307.  
  308. === Version 1.27 ===    92/7/5 17:27
  309.   ・テキスト表示状態からファイルセレクタへ移動し、キャンセルした後、書式変更
  310.     によりテキストのリフォームをおこなうと、ファイル名表示が消えてしまうとい
  311.     うバグを修正
  312.   ・0D,0A がペアになってない場合は、改行ではなく^Mと表示するよう修正
  313.   ・全角文字や制御文字が行末にまたがっていた場合、あるいは最終行の行末に改行
  314.     が入ってなくても余計に改行を表示するバグを修正(バッファ管理方式を変更し
  315.     た時に発生したバグ)
  316.   ・メニュー移動は、従来はgetBlockしてputBlockしていたが、ソフトウェア部分ス
  317.     クロールに置き換えることで、実行時の必要メモリが減少した(と思う)
  318.   ・スクロールバー部分のデザインをちょっと変更した
  319.   ・move.asmをちょっと直して、ページ0の下からはみ出したらページ0の先頭に戻
  320.     るようにしてしまった(ので、ページ1にはmoveできなくなったかな?)
  321.  
  322. === Version 1.28 ===    92/7/12 23:35
  323.   ・ルートディレクトリにいる時、ファイルセレクタの先頭に表示されているディレ
  324.     クトリへ降りると、スクロールバーが最後に移動してしまうバグを対策
  325.   ・メニューウィンドゥが出ている状態で、スクロールバーで画面完全書き換えがお
  326.     こる移動をすると前の画面の背景色が透明色でなくなるため、その状態からメニ
  327.     ュー移動をするとテキスト画面が見えなくなるというバグがあったので修正(メ
  328.     ニュー移動を部分画面スクロールにしたときにエンバグした)
  329.   ・move()を超簡略バージョンに置き換えた。さほど意味はないけど、いくらかオブ
  330.     ジェクトサイズは小さくなったはず
  331.  
  332. === Version 1.29 ===    92/7/17 0:13  (就職決まったぞ記念)
  333.   ・ファイルセレクタ画面を上半分に押し込め、下半分にファイルの先頭部分を表示
  334.     するというmiel型のファイルセレクタを実現
  335.   ・↑により、ファイル名の同時表示数が減少したため、横2段組ファイル表示をサ
  336.     ポートして対応。また、このためのモード切り換えボタンを押し込むためにソー
  337.     トモードのボタンは1つのボタンでトグル動作をするように変更
  338.   ・ファイルセレクタ画面の画面表示位置が右に多少ズレていたため、マウスカーソ
  339.     ルを右端まで移動するとCRTの表示限界に達して、変な表示のされ方をするこ
  340.     とがあったのを修正
  341.   ・論理ドライブ数は最大26ドライブまで対応(従来は17ドライブ)。このため、
  342.     ドライブ数が14より多い時は2段組み表示にする
  343.   ・接続されているプリンタの種別が漢字プリンタでないと、Qドライブのドライブ
  344.     アイコンがおかしくなるバグを修正(これは普通起こりえない)
  345.   ・デバイスドライバで追加されたデバイスや、subst/assignで増加したドライブの
  346.     アイコンは、交換不可能なデバイスについてはHDのアイコン、交換可能なもの
  347.     (ICカード等)ではFDのアイコンを表示する
  348.  
  349. === Version 1.30 ===    92/7/24 2:55
  350.   ・^V+nnのシーケンスでコードによる文字入力機能と、制御文字の検索機能を追加。
  351.     ただしコード入力では、漢字第一バイトに合致するものは入力できない
  352.   ・ファイルを表示後、ファイルセレクタでプレビュー機能を使うと右クリックでファ
  353.     イル表示に戻ることができなかったのを、戻れるようにした
  354.   ・制御文字の整形表示状態では、制御文字の前置文字である“^”が漢字第二バイ
  355.     トのコード領域と合致しているため、直前に漢字第一バイトに合致するコードが
  356.     あると、漢字として表示されてしまうというバグがあることが発覚したものの、
  357.     まだ対策できてない・・・
  358.   ・条件により、画面の右側にはみ出して改行記号を表示してしまうバグがあったの
  359.     で対策(メモリ管理の変更後に発生したバグ)
  360.   ・ファイルセレクタの2段表示時のボタンサイズの調整とマークボタン表示を手直
  361.     しし、1段/2段切り換え時にマークファイルが解除されるのをやめた
  362.   ・文字列検索ウィンドゥでカット&ペーストなどをおこなった時、ウィンドゥが画
  363.     面の一番下にあると、「範囲指定中」の表示に重なってしまい、ウィンドゥが欠
  364.     けることがあったのを修正
  365.   ・文字列検索ウィンドゥにマウスカーソルが重なっている時に、検索して見つかっ
  366.     た文字列がウィンドゥに重なっていたためにウィンドゥ移動が起こると、マウス
  367.     カーソルを消さずにウィンドゥを移動していたために、マウスカーソルのゴミが
  368.     残ってしまうというバグを修正
  369.   ・文字列検索時に、時々いきなり飛ぶことがあったのを対策(最近発生したバグで、
  370.     typecheck()でバッファをはみ出してメモリアクセスしていたのが原因)
  371.  
  372. === Version 1.31 ===    92/7/27 0:50  (クーラーが新型化したぞ記念)
  373.   ・メモリに入りきらない大きさのファイルでも、読めたところまでは表示できるよ
  374.     うに変更。ファイルがメモリに入りきらない場合、ファイルサイズを128KB で切
  375.     り下げて読めるところまで読む。ファイル整形中にメモリが足りなくなった場合、
  376.     整形できた行まで表示する。
  377.  
  378. === Version 1.32 ===    92/7/29 0:30  (オリンピック金メダル記念)
  379.   ・ファイルを読むとき、最初にファイル全体を読み込んでからファイル整形処理を
  380.     する方式だと、大きいファイルの場合、ファイルアクセス終了後に長時間黙りこ
  381.     んでしまうためいささか不安感がある。これを改善するため、64KBずつ分割して
  382.     読み込むようにした。これだと、短い間隔を置いてアクセスランプが点滅するの
  383.     で何かやっているという安心感がある。
  384.   ・メモリに入りきらない大きさのファイルでは、何バイトのファイルのうち、何バ
  385.     イトが読めたのかを表示するようにした。
  386.   ・いろいろテストした結果、CDにあるファイルの分割読み込みサイズの最適値は
  387.     62KB ということで、変更(ちなみに、64KB というのは最悪に低速・・・)
  388.  
  389. === Version 1.33 ===    92/8/1 1:21
  390.   ・ファイルセレクタのソートモードと表示モードの設定ボタンを、1ボタントグル
  391.     方式からプルダウンメニュー方式に変更した。複数の中から一つを選ぶのにはト
  392.     グル動作より遙かに操作性がいいはず
  393.   ・EVT_set_node()のバグ修正。本来ならば、イベントレベルの高い順にソートされ
  394.     て登録されるはずが、混ざって登録されることがあった
  395.   ・制御文字を検索した時に、1文字分しか反転表示されないバグを修正
  396.   ・1画面に満たない大きさのファイルで、ファイル末尾まで検索してから↑で逆方
  397.     向に検索しようとしても、検索できないバグを修正
  398.   ・逆方向検索で、行末から次行にまたがっているものが発見できないというバグを
  399.     修正
  400.   ・vram.asm 内のハードウェアスクロール関数である dsp_adr_set() の仕様を変更。
  401.     従来は画面開始アドレスを渡していたが、ドット数で渡されたものを関数内部で
  402.     アドレスに変換するようにした
  403.  
  404. === Version 1.34 ===    92/8/6 23:16
  405.   ・BOOK.CFG に登録した外部コマンドの起動機能を追加。BOOKから抜けなくてもリア
  406.     ルプログラムを起動することができるので、ちょっとファイル管理がしたいとか
  407.     いう用途に便利だと思う。ただし、コンソールエミュレーターは内蔵していない
  408.     ので、ORICON/ERICON等を経由して起動する必要あり
  409.   ・プルダウンメニューのキーボード操作を追加。また、テキスト表示画面での外部
  410.     コマンド呼び出し機能をPF4 に割り当てた
  411.   ・プルダウンメニューにショートカットキー機能を追加
  412.   ・テキスト表示状態からの、キーボードからの1文字入力によるショートカット機
  413.     能を追加したので、いきなり外部コマンドを起動することが可能になった。しか
  414.     しそのため、文字列検索の開始文字は↑・↓・空白・改行の4つに限定した
  415.   ・外部コマンドとしてERICONを起動してexitすることを繰り返すと、何度目かで失
  416.     敗して元に戻れなくなるという問題がある。ORICONでは平気だから、これって
  417.     ERICONのせいなのかなぁ?  その後、リアルメモリ指定などを調整した結果、運
  418.     がいいと飛ばないこともあるようだ
  419.   ・BOOK.CFG に複数行に渡る記述がしたくなったので、継続行処理を追加した。
  420.     行末に "\" があると、次の行も継続しているとみなす。ただし、接続した行の
  421.     合計の長さは256byteまで
  422.  
  423. === Version 1.35 ===    92/8/10 00:19
  424.   ・プルダウンメニューは、ボタンから手を離すとメニューが閉じてしまうため、ド
  425.     ラッグでしか選択できなかったが、普通のクリックによる選択もできるように手
  426.     直しをした
  427.   ・起動直後のファイルセレクタでは、右クリックによるキャンセルは動作しないよ
  428.     うにした
  429.   ・BOOK.CFG 内の継続行を連結した行の最大長は 2048バイトまでに変更
  430.   ・外部コマンドの起動に失敗した場合は、その旨メッセージを出す
  431.   ・「制御文字の整形表示」指定のデフォルトが「整形しない」だったのを「整形す
  432.     る」に変更
  433.   ・外部コマンドがひとつも登録されていない状態でウィンドゥを開くボタンを押
  434.     すと、画面が少しチラチラするのを修正
  435.   ・意味はないが、ちょっとカッコいいかな?とか思ってウィンドゥ移動時に出るウィ
  436.     ンドゥの枠を点線にしてみた
  437.   ・外部コマンドの起動に spawnl() を使っていたのを c_exec() に変更。このほう
  438.     がオブジェクトサイズが小さい
  439.   ・余白イベントを使っていると、右クリックによるキャンセルが正常に使用できな
  440.     いことがあったのを修正
  441.  
  442. === Version 1.36 ===    92/8/14 02:27
  443.   ・BOOK.CFG再読み込み、バージョン表示機能を追加
  444.   ・パスリストの表示は、通常のメニューウィンドゥ型にしてしまった
  445.   ・起動時パラメータとして "-v" を与えると、バージョン・日時を表示して終了する
  446.   ・コンパイル時、自動的にコンパイル日時がオブジェクトに入ってしまうようにし
  447.     たので、いざという時には区別がしやすいと思う。また、バージョンナンバーは
  448.     小数点以下3桁まで有効とし、こちらも自動更新される。通常、小数点以下2桁
  449.     までで区別する
  450.  
  451. === Version 1.37 ===    92/8/29 12:02
  452.   ・使用コンパイラを High-C386 V1.7 に切り換えた
  453.   ・コンパイラトグルの見直しをおこない、"Align_members" (構造体メンバのアラ
  454.     イン)はoffにすることにした
  455.   ・コンソール起動時に、画面を400ラインモードにセットアップすることで、
  456.     TownsOS v2.1でのコマンド実行を可能にしたつもりだったけど、できてない
  457.  
  458. === Version 1.38 ===    92/10/8 22:27   (中島みゆきニューアルバム発売記念)
  459.   ・メニューウィンドゥの出現位置を、各メニューごとに記憶するようにした
  460.     (終了確認、バージョン表示、フルパス表示の各メニュー)
  461.   ・メニューウィンドゥの移動時にマウスカーソルを表示したままだと、カーソル表
  462.     示のON/OFFでチラチラするし、ちょっと速度も遅い感じなので、移動中は
  463.     カーソルを消したままにしてしまった
  464.   ・メニューウィンドゥの出現位置を、各ウィンドゥごとに最適な場所になるように
  465.     調節
  466.  
  467. === Version 1.39 ===    92/11/28 16:25
  468.                     (やっとMDが来たけど、いきなりディスクのTOCを壊したぞ記念)
  469.   ・キーボードコントロール機能の追加中。まずは、前行・次行キーで2行単位のス
  470.     クロールをする機能を追加した。
  471.  
  472. === Version 1.40 ===    92/12/13 23:51  (明日は赤穂浪士討ち入りの日記念)
  473.   ・キーボードスクロール機能の強化をするつもりだったのだが、ソースのあちこち
  474.     に直接値の書いてあるメニューイベント値があまりに汚なかったので、enum宣言
  475.     して間接表現にした。
  476.   ・キーボード・スクロール時、キーボードから手を離してもキーバッファに溜まっ
  477.     ている分で惰性がついてしまうので、キーを離したらキーバッファをクリアして
  478.     終了するように修正。
  479.   ・さらに、キーリピートに頼らずにマトリクスを参照して自前でリピートするよう
  480.     にしたら、速すぎて実用に耐えない・・・。
  481.   ・キーボード・スクロール時、マトリクスしか読まずにスクロールしていたら、バッ
  482.     ファフルになってピーピーうるさいので修正。
  483.  
  484. === Version 1.41 ===    93/1/2 19:09
  485.   ・外部コマンド起動のプルダウンメニューが、ドラッグ選択しか効かなくなってい
  486.     たのを修正
  487.   ・メニューウィンドゥ移動時の枠線が点線だと描画が遅いので、単なる直線に戻し
  488.     た(ウウウ、かなすぃ)
  489.   ・上下カーソルキーによるスクロールをサポートした。従来カーソルキーにアサイ
  490.     ンされていた文字列検索はFキーへ移動
  491.   ・キーデータの読み込みルーチンを手直しして、シフト状態も統一的に扱えるよう
  492.     に変更した
  493.   ・Vキーで改行文字の表示切り換えを直接トグル切り換えできるようにした
  494.  
  495. === Version 1.42 ===    93/1/3 3:50
  496.   ・漢字入力が必要ないところでは、キーマトリクスを読み取ってキーイベントをお
  497.     こすことにより、リピート間隔と関係なく連続入力が可能。しかし、機能によっ
  498.     てはちょっと不便になったかも
  499.   ・キーボードによるファイル先頭/末尾への移動をサポート
  500.   ・キーボードによる高速スクロール時でも、10行ごとに行数表示を更新する
  501.   ・メニュー・ウィンドゥを開いた時に、勝手にマウスカーソルを移動するのを止めた
  502.   ・Qキーで終了をサポート
  503.   ・最終行だけにある文字列の検索をすると、その行が表示されていなくても現在の
  504.     画面にあるものとして誤動作するのを修正
  505.   ・行入力中に、CTRL-V + 制御キーの直接入力ができるようにした
  506.   ・キーボードによる逆スクロール時、スクロールバーの更新がおこなわれないこと
  507.     があったのを修正
  508.  
  509. === Version 1.43 ===    93/1/4 00:50
  510.   ・テキスト表示状態からの、キーボードからの1文字入力による外部コマンド起動
  511.     機能を削除
  512.   ・"About" の作成年表示に "93" を追加
  513.  
  514. === Version 1.44 ===    93/1/10 21:51
  515.   ・低速キーボードスクロールをスムーズスクロールにしたので、滑らかになった
  516.   ・定速スクロールボータンを、キーボード中速スクロールと同じ動作にし、押して
  517.     いる間だけスクロールするようにした
  518.   ・キーボードによる低速/中速スクロールの速度は、BOOK.CFG で定義する
  519.     BTN_SPEED の値およびその2倍の値を使用する
  520.   ・表示書式の変更メニューについてもキーボードに対応したので、テキスト表示画
  521.     面についてのすべての操作がキーボードからおこなえるようになった。
  522.  
  523. === Version 1.45 ===    93/1/13 00:55
  524.   ・ファイル・セレクタ画面のキーボード対応を多少進めた
  525.     スクロール・逆スクロール・ソートモード・表示形式・上位ディレクトリへ移動、
  526.     について対応した。
  527.  
  528. === Version 1.46 ===    93/1/15 05:11
  529.   ・文字列検索ウィンドゥが出ている状態からのキーボード・スクロールを一応サポー
  530.     ト。ただし、現在は低速スクロールのみ
  531.   ・キーボードスクロール速度を低速・中速・高速・超高速の4段階に変更。
  532.     定義ファイルの BTN_SPEED の値を基に、低速(×1)、中速(×2)、高速(×4)の速
  533.     度を決め、スムーズスクロールする。超高速だけは、スムーズスクロールでなく、
  534.     行単位スクロール
  535.  
  536. === Version 1.47 ===    93/1/16 16:17
  537.   ・いちおうファイル・セレクタでもキーボード操作によるファイル選択を可能にし
  538.     た。まだ使いやすくないので、かなり手直しが必要だし、キーボード対応の方法
  539.     がメチャ手抜きなので、ソースぐしゃぐしゃ・・・
  540.  
  541. === Version 1.48 ===    93/1/17 5:11
  542.   ・ファイルセレクタのキーボード操作部は、操作性ではかなり手直しをした。
  543.     残る問題は、ソースがむたくたなことと、ドライブおよびワイルド・カード選択
  544.     をどのようなキーアサインにするかである
  545.   ・横2段組の場合、カーソル選択がちょっとおかしい
  546.   ・マトリクス入力時のキーボード・リピートの開始速度およびリピート間隔、さら
  547.     にダブルクリック検出時間を init.h & init.c で定義されるセットアップ情報
  548.     に含めた。定義ファイル対応にはまだしていない
  549.  
  550. === Version 1.49 ===    93/1/18 1:16
  551.   ・ファイル・セレクタの段組み表示について手直しをおこなった。従来は、ファイ
  552.     ルの数が奇数のとき、スクロールして末端まで行くと、最後に半端が残らないよ
  553.     うに調整していたため、それまで左に表示されていたものが右に移ったりすると
  554.     いう、ちょっと気色悪い仕様だったのを直した
  555.   ・階層ディレクトリで上位のディレクトリへ移動したとき、それまでいたディレク
  556.     トリを先頭に表示するというのをやめ、それまでのディレクトリをマークし、画
  557.     面の中央に表示するようにした
  558.   ・横2段組のときにも、カーソルによる選択が正常におこなえるようにした。左右
  559.     カーソルは2段組のときには、左右を選択するのに使えるが、1段のときは単に
  560.     上下カーソルと同じ動きである
  561.   ・コンパイル時、自動的に更新されるバージョン番号および日時について見直しを
  562.     おこない、コンパイル日時が入るのだからあまり細かいバージョンナンバーは無
  563.     意味ということで、小数点以下2桁までしか書き込まないようにした。また、バー
  564.     ジョン番号は手動で書き換えなければならない。
  565.  
  566. === Version 1.50 ===    93/1/20 1:41
  567.   ・バイナリファイルの表示時、シフトJIS1バイト目に含まれるコードの直後に、
  568.     制御文字を可視化してできた '^' があるとき、全角文字として表示されてしまう
  569.     という仕様上の問題を回避するため、putstr() に文字種別データを渡すようにし
  570.     て対応した(この仕様直すのはずいぶん長かった・・・やれば簡単だったけど)
  571.  
  572. === Version 1.51 ===    93/1/30 19:1
  573.   ・ファイルセレクタ画面で、Lキーの入力によりドライブ入力ウィンドゥが開くよ
  574.     うにして、キー入力によるドライブ選択を可能にした
  575.  
  576. === Version 1.52 ===    93/2/14 16:46
  577.   ・検索文字列入力ウィンドゥで、「漢字辞書」変換をするとハングアップすること
  578.     があったのは、システム行表示関数でグラフィック画面の退避用バッファに必要
  579.     なメモリの計算を間違って少なくメモリ獲得をしていたためだったので、修正
  580.  
  581. === Version 1.53 ===    93/2/20 1:04 (関係ないけど G-WINDOWSのFEP版完成記念)
  582.   ・ファイルセレクタでの'W'キーの入力で、既存のワイルドカードの選択をサポー
  583.     トした。まだ、ワイルドカード文字列の編集や削除には対応していない
  584.  
  585. === Version 1.54 ===    93/3/13 1:25 (FreeSoftWare Collection 6 配付版)
  586.   ・フリコレ6用にちょっと整理
  587.  
  588.